package com.movitech.mobile.cz.base.purchase.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import com.baomidou.mybatisplus.enums.IdType;
import com.movitech.mobile.cz.base.modules.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
/**
 * <p>
 * 流程表单主表
 * </p>
 *
 * @author Movitech Mobile
 * @since 2018-10-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("w_flow_form")
@ApiModel
public class WFlowForm extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;
    /**
     * 流程实例id
     */
    @ApiModelProperty(value = "流程实例id")
    @TableField("proc_instance_id")
    private String procInstanceId;
    /**
     * 流程任务id
     */
    @ApiModelProperty(value = "流程任务id")
    @TableField("task_ids")
    private String taskIds;
    /**
     * 流程任务名称
     */
    @ApiModelProperty(value = "流程任务名称")
    @TableField("task_names")
    private String taskNames;
    /**
     * 流程定义id
     */
    @ApiModelProperty(value = "流程定义id")
    @TableField("proc_definition_id")
    private String procDefinitionId;
    /**
     * activiti流程配置id
     */
    @ApiModelProperty(value = "activiti流程配置id")
    @TableField("process_config_id")
    private String processConfigId;
    /**
     * 采购类型（1：战略采购，2：专项采购）
     */
    @ApiModelProperty(value = "采购类型（1：战略采购，2：专项采购）")
    @TableField("purchase_plan_type")
    private Integer purchasePlanType;
    /**
     * 采购计划id（包括战略采购规划id和专项采购计划id）
     */
    @ApiModelProperty(value = "采购计划id（包括战略采购规划id和专项采购计划id）")
    @TableField("purchase_plan_id")
    private String purchasePlanId;
    /**
     * 流程类型（1：战略采购直接委托，2：战略采购邀请招标，3：战略采购竞争性谈判，4：专项采购零星采购，5：专项采购战略直委，6：专项采购非战略直委，7：专项采购邀请招标，8：专项采购竞争性谈判）
     */
    @ApiModelProperty(value = "流程类型（1：战略采购直接委托，2：战略采购邀请招标，3：战略采购竞争性谈判，4：专项采购零星采购，5：专项采购战略直委，6：专项采购非战略直委，7：专项采购邀请招标，8：专项采购竞争性谈判）")
    @TableField("flow_type")
    private Integer flowType;
    /**
     * 流程编号
     */
    @ApiModelProperty(value = "流程编号")
    @TableField("flow_code")
    private String flowCode;
    /**
     * 流程表单状态（多个时逗号隔开）
     */
    @ApiModelProperty(value = "流程表单状态（多个时逗号隔开）")
    @TableField("flow_form_status")
    private String flowFormStatus;
    /**
     * 流程表单小状态（多个时逗号隔开）
     */
    @ApiModelProperty(value = "流程表单小状态（多个时逗号隔开）")
    @TableField("flow_form_sub_status")
    private String flowFormSubStatus;
    /**
     * 主责部门（集团或地区公司id）
     */
    @ApiModelProperty(value = "主责部门（集团或地区公司id）")
    @TableField("responsibility_id")
    private String responsibilityId;
    /**
     * 集团或地区公司id
     */
    @ApiModelProperty(value = "集团或地区公司id")
    @TableField("regional_company_id")
    private String regionalCompanyId;
    /**
     * 发包人id
     */
    @ApiModelProperty(value = "发包人id")
    @TableField("originator_user")
    private String originatorUser;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    @TableField("project_id")
    private String projectId;
    /**
     * 合约id
     */
    @ApiModelProperty(value = "合约id")
    @TableField(value="contract_id")
    private String contractId;
    /**
     * 合约名称
     */
    @ApiModelProperty(value = "合约名称")
    @TableField(value="contract_name")
    private String contractName;
    /**
     * 合约编码
     */
    @ApiModelProperty(value = "合约编码")
    @TableField(value="contract_code")
    private String contractCode;
    /**
     * 项目分期
     */
    @ApiModelProperty(value = "项目分期")
    @TableField("project_by_stage")
    private String projectByStage;
    /**
     * 项目位置
     */
    @ApiModelProperty(value = "项目位置")
    @TableField("project_location")
    private String projectLocation;
    /**
     * 项目规模
     */
    @ApiModelProperty(value = "项目规模")
    @TableField("project_scale")
    private String projectScale;
    /**
     * 采购项名称
     */
    @ApiModelProperty(value = "采购项名称")
    @TableField("purchase_item_name")
    private String purchaseItemName;
    /**
     * 采购主体
     */
    @ApiModelProperty(value = "采购主体")
    @TableField("procuring_entity")
    private String procuringEntity;
    /**
     * 采购品类（s_strategic_category表id）
     */
    @ApiModelProperty(value = "采购品类（s_strategic_category表id）")
    @TableField("purchase_category_id")
    private String purchaseCategoryId;
    /**
     * 标段数量
     */
    @ApiModelProperty(value = "标段数量")
    @TableField("segments_number")
    private Integer segmentsNumber;
    /**
     * 标段划分
     */
    @ApiModelProperty(value = "标段划分")
    @TableField("segments_splits")
    private String segmentsSplits;
    /**
     * 计划核准金额
     */
    @ApiModelProperty(value = "计划核准金额")
    @TableField("plan_audit_prices")
    private Integer planAuditPrices;
    /**
     * 采购方式
     */
    @ApiModelProperty(value = "采购方式")
    @TableField("purchase_type")
    private Integer purchaseType;
    /**
     * 采购量
     */
    @ApiModelProperty(value = "采购量")
    @TableField("purchased_amount")
    private Double purchasedAmount;
    /**
     * 采购范围
     */
    @ApiModelProperty(value = "采购范围")
    @TableField("purchase_range")
    private String purchaseRange;
    /**
     * 定标原则
     */
    @ApiModelProperty(value = "定标原则")
    @TableField("calibration_principle")
    private Integer calibrationPrinciple;
    /**
     * 合约计价方式
     */
    @ApiModelProperty(value = "合约计价方式")
    @TableField("contract_valuation_method")
    private Integer contractValuationMethod;
    /**
     * 采购分类
     */
    @ApiModelProperty(value = "采购分类")
    @TableField("purchase_classification")
    private String purchaseClassification;
    /**
     * 签订年限
     */
    @ApiModelProperty(value = "签订年限")
    @TableField("signed_years")
    private Integer signedYears;
    /**
     * 采购渠道
     */
    @ApiModelProperty(value = "采购渠道")
    @TableField("purchase_channels")
    private Integer purchaseChannels;
    /**
     * 开评标顺序
     */
    @ApiModelProperty(value = "开评标顺序")
    @TableField("open_bid_orders")
    private Integer openBidOrders;
    /**
     * 回标轮次(1 一回不议，2 一回一议，3 二回一议，4二回不议)
     */
    @ApiModelProperty(value = "回标轮次(1 一回不议，2 一回一议，3 二回一议，4二回不议)")
    @TableField("back_bid_rounds")
    private Integer backBidRounds;
    /**
     * 是否需要上定标会（0：否，1：是）
     */
    @ApiModelProperty(value = "是否需要上定标会（0：否，1：是）")
    @TableField("calibration_meeting_or_not")
    private Integer calibrationMeetingOrNot;
    /**
     * 设计封样
     */
    @ApiModelProperty(value = "设计封样")
    @TableField("design_seal")
    private Integer designSeal;
    /**
     * 是否需要投标送样（0：否，1：是）
     */
    @ApiModelProperty(value = "是否需要投标送样（0：否，1：是）")
    @TableField("bid_send_sample_or_not")
    private Integer bidSendSampleOrNot;
    /**
     * 供应商入围条件
     */
    @ApiModelProperty(value = "供应商入围条件")
    @TableField("entry_conditions")
    private String entryConditions;
    /**
     * 特殊情况说明
     */
    @ApiModelProperty(value = "特殊情况说明")
    @TableField("special_case_description")
    private String specialCaseDescription;
    /**
     * 投标保证金
     */
    @ApiModelProperty(value = "投标保证金")
    @TableField("bid_bounds")
    private Double bidBounds;
    /**
     * 收款单位
     */
    @ApiModelProperty(value = "收款单位")
    @TableField("payee_unit")
    private String payeeUnit;
    /**
     * 汇款账号
     */
    @ApiModelProperty(value = "汇款账号")
    @TableField("remittance_account")
    private String remittanceAccount;
    /**
     * 开户行
     */
    @ApiModelProperty(value = "开户行")
    @TableField("opened_bank")
    private String openedBank;
    /**
     * 开工日期
     */
    @ApiModelProperty(value = "开工日期")
    @TableField("start_construction_time")
    private Date startConstructionTime;
    /**
     * 竣工日期
     */
    @ApiModelProperty(value = "竣工日期")
    @TableField("end_construction_time")
    private Date endConstructionTime;
    /**
     * 质量标准
     */
    @ApiModelProperty(value = "质量标准")
    @TableField("quality_standard")
    private String qualityStandard;
    /**
     * 质保年限
     */
    @ApiModelProperty(value = "质保年限")
    @TableField("warranty_period")
    private String warrantyPeriod;
    /**
     * 付款方式
     */
    @ApiModelProperty(value = "付款方式")
    @TableField("payment_type")
    private String paymentType;
    /**
     * 评标结论
     */
    @ApiModelProperty(value = "评标结论")
    @TableField("bid_evaluation_conclusion")
    private String bidEvaluationConclusion;
    /**
     * 定标结论
     */
    @ApiModelProperty(value = "定标结论")
    @TableField("calibration_conclusion")
    private String calibrationConclusion;
    /**
     * 流标审批完成时间
     */
    @ApiModelProperty(value = "流标审批完成时间")
    @TableField("abortive_audited_time")
    private Date abortiveAuditedTime;
    /**
     * 流标原因
     */
    @ApiModelProperty(value = "流标原因")
    @TableField("abortive_desc")
    private String abortiveDesc;
    /**
     * 是否流标中（0：否，1：是，2：完成）
     */
    @ApiModelProperty(value = "是否流标中（0：否，1：是，2：完成）")
    @TableField("abortive_flag")
    private Integer abortiveFlag;
    /**
     * 流标类型（参考dict表）
     */
    @ApiModelProperty(value = "流标类型（参考dict表）")
    @TableField("abortive_type")
    private Integer abortiveType;
    /**
     * 流标申请人id
     */
    @ApiModelProperty(value = "流标申请人id")
    @TableField("abortive_apply_user_id")
    private String abortiveApplyUserId;
    /**
     * bpm审批（0：初始，1：审批中，2：审批完成）
     */
    @ApiModelProperty(value = "bpm审批（0：初始，1：审批中，2：审批完成）")
    @TableField("mbs_bpm_flag")
    private Integer mbsBpmFlag;
    /**
     * 是否已定标（0：否，1:是）
     */
    @ApiModelProperty(value = "是否已定标（0：否，1:是）")
    @TableField("calibration_flag")
    private Integer calibrationFlag;
    /**
     * 定标时间
     */
    @ApiModelProperty(value = "定标时间")
    @TableField("calibration_time")
    private Date calibrationTime;
    /**
     * 答疑状态
     */
    @ApiModelProperty(value = "答疑状态")
    @TableField("supplier_referers_status")
    private Integer supplierReferersStatus;
    /**
     * 答疑发送时间
     */
    @ApiModelProperty(value = "答疑发送时间")
    @TableField("supplier_referers_send_time")
    private Date supplierReferersSendTime;
    /**
     * 经办人
     */
    @ApiModelProperty(value = "经办人")
    @TableField("handle_user")
    private String handleUser;
    /**
     * 计划预算核准金额
     */
    @ApiModelProperty(value = "计划预算核准金额")
    @TableField("plan_budget_prices")
    private Double planBudgetPrices;
    /**
     * 计划预算核准时间
     */
    @ApiModelProperty(value = "计划预算核准时间")
    @TableField("plan_budget_time")
    private Date planBudgetTime;
    /**
     * 会议地点
     */
    @ApiModelProperty(value = "会议地点")
    @TableField("meeting_address")
    private String meetingAddress;
    /**
     * 是否召开集团采购方案决策会（0：否，1：是）
     */
    @ApiModelProperty(value = "是否召开集团采购方案决策会（0：否，1：是）")
    @TableField("meeting_group_decision")
    private Integer meetingGroupDecision;
    /**
     * 会议参加人（集团）
     */
    @ApiModelProperty(value = "会议参加人（集团）")
    @TableField("meeting_group_user_ids")
    private String meetingGroupUserIds;
    /**
     * 会议参加人（地区公司）
     */
    @ApiModelProperty(value = "会议参加人（地区公司）")
    @TableField("meeting_regional_user_ids")
    private String meetingRegionalUserIds;
    /**
     * 会议时间
     */
    @ApiModelProperty(value = "会议时间")
    @TableField("meeting_time")
    private Date meetingTime;
    /**
     * 工期要求
     */
    @ApiModelProperty(value = "工期要求")
    @TableField("project_time_requirement")
    private String projectTimeRequirement;

    /**
     * 工期要求
     */
    @ApiModelProperty(value = "'合作形式")
    @TableField("cooperation_format")
    private String cooperationFormat;



}
